package com.example.practice.sys.mapper;

import com.example.practice.pojo.Detials;
import com.example.practice.pojo.Dict;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface DictMapper {

    /**
     * 添加字典
     */
    int addDict(Dict dict) throws Exception;

    /**
     * 查询所有字典信息（分页）
     */
    List<Dict> dicts() throws Exception;

    /**
     * 根据字典名称查询字典（未删除的）
     */
    @Select("SELECT dname FROM t_dict WHERE dname = #{dname} AND isDel = 0")
    Dict findDict(String dname) throws Exception;

    /**
     * 查询所有字典
     */
    List<Dict> findAllDicts();

    /**
     * 根据ID查询字典
     */
    Dict findDictById(Integer id) throws Exception;

    /**
     * 根据ID更新字典
     */
    int updateDictById(Dict dict) throws Exception;

    /**
     * 查询所有明细项（根据字典名称）
     */
    @Select("SELECT * FROM t_dict_detail WHERE dtag = #{dname}")
    List<Detials> findDetials(String dname) throws Exception;
}
